/**
 * 游戏常量定义
 * 
 * 功能：
 * 1. 定义游戏中的固定常量
 * 2. 提供全局事件名称
 * 3. 定义游戏状态枚举
 * 4. 设置游戏配置常量
 * 
 * 包含：
 * 1. 游戏状态定义
 * 2. 事件类型定义
 * 3. 物理层定义
 * 4. 其他游戏常量
 */
export const GameEvents = {
    PLAYER_SPAWN: 'player-spawn',
    PLAYER_DIE: 'player-die',
    EVOLUTION_POINT_CHANGE: 'evolution-point-change',
    EVOLUTION_STAGE_CHANGE: 'evolution-stage-change',
    GAME_START: 'game-start',
    GAME_OVER: 'game-over',
    EVOLUTION_AVAILABLE: 'evolution-available',
    EVOLUTION_COMPLETE: 'evolution-complete',
    SKILL_UNLOCKED: 'skill-unlocked',
    PLAYER_STATS_UPDATED: 'player-stats-updated',
    MATCH_START: 'match-start',
    MATCH_CANCEL: 'match-cancel',
    MATCH_FOUND: 'match-found',
    MATCH_ERROR: 'match-error',
    MATCH_TIMEOUT: 'match-timeout',
    MATCH_PROGRESS: 'match-progress',
    ROOM_JOINED: 'room-joined',
    ROOM_JOIN_ERROR: 'room-join-error',
    TEAM_CREATED: 'team-created',
    TEAM_JOINED: 'team-joined',
    TEAM_LEFT: 'team-left',
    TEAM_DISBANDED: 'team-disbanded',
    TEAM_MEMBER_JOINED: 'team-member-joined',
    TEAM_MEMBER_LEFT: 'team-member-left',
    TEAM_READY_STATE_CHANGED: 'team-ready-state-changed'
} as const;

export const GameLayers = {
    DEFAULT: 1 << 0,
    PLAYER: 1 << 1,
    ENEMY: 1 << 2,
    FOOD: 1 << 3,
    TERRAIN: 1 << 4,
} as const;

export const GameTags = {
    PLAYER: 'Player',
    ENEMY: 'Enemy',
    FOOD: 'Food',
    SPAWN_POINT: 'SpawnPoint',
    WATER: 'Water',
    AIR_ZONE: 'AirZone',
    GROUND: 'Ground'
} as const; 